/*     */ package com.cr.system.service.impl;
/*     */ 
/*     */ import com.cr.common.core.text.Convert;
/*     */ import com.cr.common.exception.ServiceException;
/*     */ import com.cr.common.utils.CacheUtils;
/*     */ import com.cr.common.utils.MyStringUtils;
/*     */ import com.cr.system.domain.SysConfig;
/*     */ import com.cr.system.mapper.SysConfigMapper;
/*     */ import com.cr.system.service.ISysConfigService;
/*     */ import java.util.List;
/*     */ import javax.annotation.PostConstruct;
/*     */ import org.springframework.beans.factory.annotation.Autowired;
/*     */ import org.springframework.stereotype.Service;
/*     */ 
/*     */ @Service
/*     */ public class SysConfigServiceImpl implements ISysConfigService {
/*     */   @Autowired
/*     */   private SysConfigMapper configMapper;
/*     */   
/*     */   @PostConstruct
/*     */   public void init() {
/*  34 */     loadingConfigCache();
/*     */   }
/*     */   
/*     */   public SysConfig selectConfigById(Long configId) {
/*  46 */     SysConfig config = new SysConfig();
/*  47 */     config.setConfigId(configId);
/*  48 */     return this.configMapper.selectConfig(config);
/*     */   }
/*     */   
/*     */   public String selectConfigByKey(String configKey) {
/*  60 */     String configValue = Convert.toStr(CacheUtils.get(getCacheName(), getCacheKey(configKey)));
/*  61 */     if (MyStringUtils.isNotEmpty(configValue))
/*  63 */       return configValue; 
/*  65 */     SysConfig config = new SysConfig();
/*  66 */     config.setConfigKey(configKey);
/*  67 */     SysConfig retConfig = this.configMapper.selectConfig(config);
/*  68 */     if (MyStringUtils.isNotNull(retConfig)) {
/*  70 */       CacheUtils.put(getCacheName(), getCacheKey(configKey), retConfig.getConfigValue());
/*  71 */       return retConfig.getConfigValue();
/*     */     } 
/*  73 */     return "";
/*     */   }
/*     */   
/*     */   public List<SysConfig> selectConfigList(SysConfig config) {
/*  85 */     return this.configMapper.selectConfigList(config);
/*     */   }
/*     */   
/*     */   public int insertConfig(SysConfig config) {
/*  97 */     int row = this.configMapper.insertConfig(config);
/*  98 */     if (row > 0)
/* 100 */       CacheUtils.put(getCacheName(), getCacheKey(config.getConfigKey()), config.getConfigValue()); 
/* 102 */     return row;
/*     */   }
/*     */   
/*     */   public int updateConfig(SysConfig config) {
/* 114 */     int row = this.configMapper.updateConfig(config);
/* 115 */     if (row > 0)
/* 117 */       CacheUtils.put(getCacheName(), getCacheKey(config.getConfigKey()), config.getConfigValue()); 
/* 119 */     return row;
/*     */   }
/*     */   
/*     */   public void deleteConfigByIds(String ids) {
/* 131 */     Long[] configIds = Convert.toLongArray(ids);
/* 132 */     for (Long configId : configIds) {
/* 134 */       SysConfig config = selectConfigById(configId);
/* 135 */       if (MyStringUtils.equals("Y", config.getConfigType()))
/* 137 */         throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", new Object[] { config.getConfigKey() })); 
/* 139 */       this.configMapper.deleteConfigById(configId);
/* 140 */       CacheUtils.remove(getCacheName(), getCacheKey(config.getConfigKey()));
/*     */     } 
/*     */   }
/*     */   
/*     */   public void loadingConfigCache() {
/* 150 */     List<SysConfig> configsList = this.configMapper.selectConfigList(new SysConfig());
/* 151 */     for (SysConfig config : configsList)
/* 153 */       CacheUtils.put(getCacheName(), getCacheKey(config.getConfigKey()), config.getConfigValue()); 
/*     */   }
/*     */   
/*     */   public void clearConfigCache() {
/* 163 */     CacheUtils.removeAll(getCacheName());
/*     */   }
/*     */   
/*     */   public void resetConfigCache() {
/* 172 */     clearConfigCache();
/* 173 */     loadingConfigCache();
/*     */   }
/*     */   
/*     */   public String checkConfigKeyUnique(SysConfig config) {
/* 185 */     Long configId = Long.valueOf(MyStringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId().longValue());
/* 186 */     SysConfig info = this.configMapper.checkConfigKeyUnique(config.getConfigKey());
/* 187 */     if (MyStringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue())
/* 189 */       return "1"; 
/* 191 */     return "0";
/*     */   }
/*     */   
/*     */   private String getCacheName() {
/* 201 */     return "sys-config";
/*     */   }
/*     */   
/*     */   private String getCacheKey(String configKey) {
/* 212 */     return "sys_config:" + configKey;
/*     */   }
/*     */ }


/* Location:              D:\tmp\creditorRights-admin\BOOT-INF\lib\creditorRights-system-4.7.0.jar!\com\cr\system\service\impl\SysConfigServiceImpl.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */